// search模块的小仓库

import { reqGetSearchInfo } from "@/api"
const state = {
    searchList: {}
}
const actions = {
    //获取search数据
    async getSearchList({ commit }, params) {
        //当前这个reqGetSearchInfo这个函数在调用获取服务器数据的时候，至少传递一个参数（空对象）
        //params形参：是当用户派发actions的时候，第二个参数传递过来的，至少是个空对象
        let result = await reqGetSearchInfo(params)
        console.log(result);
        if (result.code === 200) {
            commit('GETSEARCHLIST', result.data)
        }
    }
}
const mutations = {
    GETSEARCHLIST(state, value) {
        state.searchList = value
    }
}
//计算属性：用于简化仓库中的数据
//可以把我们将来在组件中需要用的数据简化一下，形参state，是当前仓库的state，并非大仓库中的state
const getters = {
    goodsList(state) {
        //state.searchList.goodsList 如果服务器数据回来了。没问题是一个数组
        //假如网络不给力或者没有网 state.searchList.goodsList就返回undefined
        //计算新的属性的属性值至少给人家来个数组
        return state.searchList.goodsList || []
    },
    trademarkList(state) {
        return state.searchList.trademarkList
    },
    attrsList(state) {
        return state.searchList.attrsList
    }
}
export default {
    state,
    actions,
    mutations,
    getters
}